package leetcode;

import java.util.ArrayList;
import java.util.List;

/**
 * 杨辉三角
 */
public class PascalTriangle {
    public static List<List<Integer>> generate(int numRows) {
        List<List<Integer>> res = new ArrayList<>();
        List<Integer> peek = new ArrayList<>();
        if (numRows == 0) {
            return res;
        }
        peek.add(1);
        res.add(peek);
        for (int i = 1; i < numRows; i++) { // i控制行
            List<Integer> ele = new ArrayList<>();
            ele.add(1);
            for (int k = 1; k < i; k++) { // k控制加
                List<Integer> tmp = res.get(i - 1);
                ele.add(tmp.get(k - 1) + tmp.get(k));
            }
            ele.add(1);
            res.add(ele);
        }
        return res;
    }

    public static void main(String[] args) {
        List<List<Integer>> res = generate(5);
        System.out.print("[");
        for (int i = 0; i < res.size(); i++) {
            List<Integer> list = res.get(i);
            System.out.print("[");
            for (int j = 0; j < list.size(); j++) {
                System.out.print(list.get(j));
                if (j != list.size() - 1) {
                    System.out.print(", ");
                }
            }
            System.out.print("]");
            if (i != res.size() - 1) {
                System.out.print(", ");
            }
        }
        System.out.print("]");
    }
}
